package com.aps.algorithm.entity;

import com.aps.common.entity.BaseEntity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;

@TableName("aps_kpi_template")
@Data
@EqualsAndHashCode(callSuper = false)
public class ApsKpiTemplate extends BaseEntity {

    /**
     * 主键ID
     */
    @TableId(type = IdType.ASSIGN_ID)
    private String id;

    /**
     * 租户ID
     */
    @TableField("tenant_id")
    private String tenantId;

    /**
     * 模板编码（唯一标识）
     */
    @TableField("template_code")
    private String templateCode;

    /**
     * 模板名称
     */
    @TableField("template_name")
    private String templateName;

    /**
     * 行业编码（如 general、pharma、auto 等）
     */
    @TableField("industry_code")
    private String industryCode;

    /**
     * JSON 格式的指标配置，描述需要计算的 KPI 列表及参数
     */
    @TableField("metric_config")
    private String metricConfig;

    /**
     * 模板描述
     */
    @TableField("description")
    private String description;

    /**
     * 模板版本号（乐观锁）
     */
    @TableField("version")
    private Integer version;

    /**
     * 是否启用（0-停用，1-启用）
     */
    @TableField("enabled")
    private String enabled;
}
